package com.jdd.modules.configcartype.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jdd.modules.configcartype.entity.ConfigCarType;

import java.util.List;

/**
 * @Description: 车辆类型管理
 * @Author: jdd
 * @Date: 2021-02-18
 * @Version: V1.0
 */
public interface IConfigCarTypeService extends IService<ConfigCarType> {

    /**
     * 获取车场所有的车辆类型
     *
     * @return 车辆类型列表
     */
    List<ConfigCarType> getCarTypeList();

    /**
     * 根据id获取车辆类型信息
     *
     * @param id 车辆类型id
     * @return 车辆类型
     */
    ConfigCarType findCarTypeById(String id);

    /**
     * 获取车场所有的月租车类型
     *
     * @return 月租车辆类型列表
     */
    List<ConfigCarType> findMonthlyCarTypeList();

    /**
     * 获取车场所有的储值车类型
     *
     * @return 储值车辆类型列表
     */
    List<ConfigCarType> findStoreCarTypeList();

    /**
     * 根据车场编号删除车辆类型数据
     *
     * @return 删除结果
     */
    Boolean removeByParkCode();

    /**
     * 更新车辆类型实体
     *
     * @param configCarType 车辆类型实体
     * @return 更新结果
     */
    boolean updateEntity(ConfigCarType configCarType);

    /**
     * 保存车辆类型实体
     *
     * @param configCarType 车辆类型实体
     * @return 保存结果
     */
    boolean saveEntity(ConfigCarType configCarType);

    /**
     * 删除指定id的车辆类型实体
     *
     * @param id 车辆类型id
     * @return 删除结果
     */
    boolean deleteEntityById(String id);

    /**
     * 根据id列表批量删除指定id的车辆类型实体
     *
     * @param ids 车辆类型id列表
     * @return 删除结果
     */
    boolean deleteEntityByIds(List<String> ids);

    /**
     * 根据车辆类型列表保存
     *
     * @param list 车辆类型列表
     * @return 保存结果
     */
    Boolean saveConfigCarTypeByList(List<ConfigCarType> list);

    /**
     * 清空表数据
     *
     * @return true 清空成功
     */
    boolean removeAllInfo();

}
